﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Drawing;
using System.Data;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using QuanLiBongDa.BusinessLogicLayer;
using QuanLiBongDa.DataAccessLayer;
using System.Data.SqlClient;
namespace QuanLiBongDa.PresentationLayer
{
    public partial class QuanLiDoiBong : UserControl
    {
        QuanLiDoiBongBLO qldb = new QuanLiDoiBongBLO();
        public QuanLiDoiBong()
        {
            InitializeComponent();
        }
        private void TabControl_QuanLi_Selected(object sender, TabControlEventArgs e)
        {
            if (e.TabPageIndex == 0)
                this.LoadSan();
            if (e.TabPageIndex == 1)
            {
                //cbb_ChonSan.Items.Clear();
                this.LoadDoiBong();
            }
            if (e.TabPageIndex == 2)
            {
                //cbb_ChonDoi.Items.Clear();
                //cbb_ChonLCT.Items.Clear();
                this.LoadCauThu();
            }
        }
        #region Thao tác với Sân
        private void LoadSan()
        {
            dataGridView_San.DataSource = qldb.San(SQLService.ReturnAll("SAN"));
        }
        private SanDTO GetSan()
        {
            SanDTO s = new SanDTO();
            s.TenSan = txt_TenSan.Text;
            s.MaSan = txt_MaSan.Text;
            return s;
        }
        private void bt_Them_Click(object sender, EventArgs e)
        {
            string tensan = txt_TenSan.Text;
            string masan = txt_MaSan.Text;
            if (!Datatool.Test(txt_MaSan.Text, txt_TenSan.Text))
            {
                MessageBox.Show("Hãy nhập đầy đủ thông tin");
            }
            else
                if (qldb.Insert_San(GetSan()))
                {
                    MessageBox.Show("Đã lưu trữ thêm sân");
                    this.LoadSan();
                }
                else
                {
                    SqlDataReader dr = SQLService.mExecuteReader(SQLService.ReturnAll("SAN"));
                    int i = 0;
                    while (dr.Read())
                    {
                        string s = dr["MaSan"].ToString();
                        if (txt_MaSan.Text == s)
                        {
                            MessageBox.Show("Mã sân " + masan + " đã trùng");
                        }
                    }

                }
        }
        private void bt_Sua_Click(object sender, EventArgs e)
        {
            if (!Datatool.Test(txt_MaSan.Text))
            {
                MessageBox.Show("Hãy chọn sân để sửa");
            }
            else
            {
                DialogResult DR = MessageBox.Show("Bạn có muốn sửa thông tin sân này không ?", "THÔNG BÁO", MessageBoxButtons.OKCancel);
                if (DialogResult.OK == DR)
                {
                    if (qldb.Update_San(GetSan()))
                    {
                        MessageBox.Show("Đã sửa thông tin sân thành công");
                        this.LoadSan();
                    }
                    else
                    {
                        MessageBox.Show("Không thành công");
                    }
                }
                if (DialogResult.Cancel == DR)
                { }
            }
        }
        private void bt_Xoa_Click(object sender, EventArgs e)
        {
            if (!Datatool.Test(txt_MaSan.Text))
            {
                MessageBox.Show("Hãy chọn sân để xóa");
            }
            else
            {
                DialogResult DR = MessageBox.Show("Bạn có muốn xóa sân này không ?", "THÔNG BÁO", MessageBoxButtons.OKCancel);
                if (DialogResult.OK == DR)
                {
                    if (qldb.Delete_San(GetSan()))
                    {
                        MessageBox.Show("Đã xóa sân thành công");
                        this.LoadSan();
                    }
                    else
                    {
                        MessageBox.Show("Không thành công, có thể sân này đang được sử dụng");
                    }
                }
                if (DialogResult.Cancel == DR)
                { }
            }
        }
        private void QuanLiDoiBong_Load(object sender, EventArgs e)
        {
            this.LoadSan();
        }
        int dong;
        private void dataGridView_San_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            dong = e.RowIndex;
            txt_MaSan.Text = dataGridView_San.Rows[dong].Cells[0].Value.ToString();
            txt_TenSan.Text = dataGridView_San.Rows[dong].Cells[1].Value.ToString();
        }
        #endregion
        #region Thao tác với Đội Bóng
        private DoiBongDTO GetDB()
        {
            DoiBongDTO db = new DoiBongDTO();
            db.MaDoi = txt_MaDoi.Text;
            db.TenDoi = txt_TenDoi.Text;
            //dataGridView_OP.DataSource = qldb.TimMS_Ten(cbb_ChonSan.Text);
            //if (dataGridView_OP[0, 0].Value != null)
            //    db.MaSan = dataGridView_OP[0, 0].Value.ToString();
            DataTable dt = qldb.TimMS_Ten(cbb_ChonSan.Text);
            db.MaSan = dt.Rows[0][0].ToString();
            return db;
        }
        public void LoadDoiBong()
        {
            dataGridView_DoiBong.DataSource = qldb.LoadDoiBong("LoadDoiBong");
            this.LoadTenSan();
        }
        public void LoadTenSan()
        {
            //cbb_ChonSan.Items.Clear();
            qldb.MaSan(cbb_ChonSan);
        }        
        private void bt_Them2_Click(object sender, EventArgs e)
        {
            if (!Datatool.Test(txt_MaDoi.Text,txt_TenDoi.Text,cbb_ChonSan.Text))
            {
                MessageBox.Show("Hãy nhập đầy đủ thông tin");
            } 
            else if(qldb.Insert_DoiBong(GetDB()))
            {
                MessageBox.Show("Thêm đội thành công");
                this.LoadDoiBong();
            }
            else
            {
                MessageBox.Show("Không thành công");
            }
        }
        private void bt_Xoa2_Click(object sender, EventArgs e)
        {
            if (!Datatool.Test(txt_MaDoi.Text))
            {
                MessageBox.Show("Bạn chưa chọn đội nào để xóa");
            } 
            else
            {
                DialogResult DR = MessageBox.Show("Bạn có muốn xóa đội bóng này không ?", "THÔNG BÁO", MessageBoxButtons.OKCancel);
                if (DialogResult.OK == DR)
                {
                    if (qldb.Delete_DoiBong(GetDB()))
                    {
                        MessageBox.Show("Xóa đội thành công");
                        this.LoadDoiBong();
                        //this.ResetBD();
                    }
                    else
                    {
                        MessageBox.Show("Không thành công");
                    }
                }
                if (DialogResult.Cancel == DR)
                { }
            }                          
        }
        private void bt_Sua2_Click(object sender, EventArgs e)
        {
            if (!Datatool.Test(txt_MaDoi.Text))
            {
                MessageBox.Show("Bạn chưa chọn đội nào để sửa");
            } 
            else
            {
                DialogResult DR = MessageBox.Show("Bạn có muốn sửa thông tin đội bóng này không ?", "THÔNG BÁO", MessageBoxButtons.OKCancel);
                if (DialogResult.OK == DR)
                {
                    if (qldb.Update_DoiBong(GetDB()))
                    {
                        MessageBox.Show("Đã sửa thành công");
                        this.LoadDoiBong();
                    }
                    else
                    {
                        MessageBox.Show("Không sửa thành công");
                    }
                }
                if (DialogResult.Cancel == DR)
                { }
            }                 
        }
        private void dataGridView_DoiBong_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            dong=e.RowIndex;
            txt_MaDoi.Text = dataGridView_DoiBong.Rows[dong].Cells[0].Value.ToString();
            txt_TenDoi.Text = dataGridView_DoiBong.Rows[dong].Cells[1].Value.ToString();
            cbb_ChonSan.Text = dataGridView_DoiBong.Rows[dong].Cells[2].Value.ToString();
        }
        private void ResetBD()
        {
            txt_MaDoi.Text = null;
            txt_TenDoi.Text = null;
            cbb_ChonSan.Text = null;
        }
        #endregion
        #region Thao tác với Cầu Thủ
        private CauThuDTO GetCauThu()
        {
            CauThuDTO c = new CauThuDTO();
            c.MaCT = txt_MaCT.Text;
            c.TenCT = txt_TenCT.Text;
            c.GhiChu = txt_GhiChu.Text;
            c.NgaySinh=dateTimePicker_NgaySinh.Value.Date;
            DataTable dt1 = qldb.TimMD_Ten(cbb_ChonDoi.Text);
            c.MaDoi = dt1.Rows[0][0].ToString();
            DataTable dt2 = qldb.TimMLCT_Ten(cbb_ChonLCT.Text);
            c.MaLCT= dt2.Rows[0][0].ToString();
            return c;
        }
        public void LoadCauThu()
        {
            dataGridView_CauThu.DataSource = qldb.LoadCauThu("LoadCauThu");
            this.LoadTenDoi();
            this.LoadLCT();
        }
        public void LoadTenDoi()
        {
            //cbb_ChonDoi.Items.Clear();
            qldb.MaDoi(cbb_ChonDoi);
        }
        public void LoadLCT()
        {
            //cbb_ChonLCT.Items.Clear();
            qldb.MaLCT(cbb_ChonLCT);
        }
        private void bt_Them3_Click(object sender, EventArgs e)
        {
            if (!Datatool.Test(txt_MaCT.Text, txt_TenCT.Text, cbb_ChonDoi.Text, cbb_ChonLCT.Text, dateTimePicker_NgaySinh.Text))
            {
                MessageBox.Show("Hãy nhập đầy đủ thông tin");
            }
            else if (qldb.Insert_CauThu(GetCauThu()))
            {
                MessageBox.Show("Thêm cầu thủ thành công");
                this.LoadCauThu();
            }
            else
            {
                MessageBox.Show("Không thành công, có thể bị trùng mã cầu thủ");
            }
        }
        private void bt_Sua3_Click(object sender, EventArgs e)
        {
            if (!Datatool.Test(txt_MaCT.Text))
            {
                MessageBox.Show("Bạn chưa chọn đội nào để sửa");
            }
            else
            {
                DialogResult DR = MessageBox.Show("Bạn có muốn sửa thông tin cầu thủ này không ?", "THÔNG BÁO", MessageBoxButtons.OKCancel);
                if (DialogResult.OK == DR)
                {

                    if (qldb.Update_CauThu(GetCauThu()))
                    {
                        MessageBox.Show("Đã sửa thành công");
                        this.LoadCauThu();
                    }
                    else
                    {
                        MessageBox.Show("Không sửa thành công");
                    }
                }
                if (DialogResult.Cancel == DR)
                { }
            }  
        }
        private void bt_Xoa3_Click(object sender, EventArgs e)
        {
            if (!Datatool.Test(txt_MaCT.Text))
            {
                MessageBox.Show("Bạn chưa chọn đội nào để xóa");
            }
            else
            {
                DialogResult DR = MessageBox.Show("Bạn có muốn sửa thông tin cầu thủ này không ?", "THÔNG BÁO", MessageBoxButtons.OKCancel);
                if (DialogResult.OK == DR)
                {
                    if (qldb.Delete_CauThu(GetCauThu()))
                    {
                        MessageBox.Show("Xóa cầu thủ thành công");
                        this.LoadCauThu();
                        //this.ResetCT();
                    }
                    else
                    {
                        MessageBox.Show("Không thành công");
                    }
                }
                if (DialogResult.Cancel == DR)
                { }
            }  
        }
        private void ResetCT()
        {
            txt_MaCT.Text = null;
            txt_TenCT.Text = null;
            txt_GhiChu.Text = null;
            cbb_ChonDoi.Text = null;
            cbb_ChonLCT.Text = null;
            dateTimePicker_NgaySinh.Text = null;
        }
        private void dataGridView_CauThu_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            dong = e.RowIndex;
            txt_MaCT.Text = dataGridView_CauThu.Rows[dong].Cells[0].Value.ToString();
            txt_TenCT.Text = dataGridView_CauThu.Rows[dong].Cells[1].Value.ToString();
            cbb_ChonDoi.Text = dataGridView_CauThu.Rows[dong].Cells[2].Value.ToString();
            dateTimePicker_NgaySinh.Text = dataGridView_CauThu.Rows[dong].Cells[3].Value.ToString();
            cbb_ChonLCT.Text = dataGridView_CauThu.Rows[dong].Cells[4].Value.ToString();
            txt_GhiChu.Text = dataGridView_CauThu.Rows[dong].Cells[5].Value.ToString();
        }
        #endregion    

        private void dataGridView_DoiBong_Click(object sender, EventArgs e)
        {

        }

        private void dataGridView_CauThu_Click(object sender, EventArgs e)
        {

        }

        private void dataGridView_San_Click(object sender, EventArgs e)
        {

        }
    }
}
